﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;

namespace FrontEndPlus.Módulos.Catálogos_y_Mantenimientos
{
    public partial class wbfrm_Cambio_Clientes : System.Web.UI.Page
    {
        #region Variables

        private WCF_Gimnasio.cls_Cliente _cliente = new WCF_Gimnasio.cls_Cliente();
        private WCF_Gimnasio.cls_Tipo_Cliente _tipos_cliente = new WCF_Gimnasio.cls_Tipo_Cliente();
        private WCF_Gimnasio.ServiceClient _servicio = new WCF_Gimnasio.ServiceClient();
        private validacionControles _valida = new validacionControles();

        #endregion

        #region Metodos



        #endregion

        #region Eventos

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    _tipos_cliente.IdUsuarioInicioSeccion = Convert.ToInt32(Session["idUSuario"]);
                    ddl_Tipo_Cliente.DataTextField = "DESCRIPCION";
                    ddl_Tipo_Cliente.DataValueField = "ID_TIPO_CLIENTE";
                    ddl_Tipo_Cliente.DataSource = _servicio.Listar(3, _tipos_cliente).Tables[0];
                    ddl_Tipo_Cliente.DataBind();

                    _cliente = (WCF_Gimnasio.cls_Cliente)CargarPagina.SeleccionarObjeto("Cliente");
                    if (_cliente == null ? false : true)
                    {
                        txt_Id.Text = _cliente.IdCliente.ToString();
                        txt_Nombre.Text = _cliente.Nombre;
                        txt_Apellidos.Text = _cliente.Apellido;
                        txt_Ced.Text = _cliente.Cedula;
                        ddl_Sexo.SelectedIndex = _cliente.Sexo == 'M' ? 1 : 2;
                        ddl_Tipo_Cliente.SelectedIndex = _cliente.IdTipoCliente - 1;
                        txt_FechaNac.Text = _cliente.FechaNacimiento.ToShortDateString();
                        txt_EmailCliente.Text = _cliente.Correo;
                        txt_Celular.Text = _cliente.Telefono.ToString();
                        if (_cliente.IdEstado == 2)
                            chk_Activo.Checked = true;
                        else
                            chk_Inactivo.Checked = true;
                        txt_Estatura.Text = _cliente.Estatura.ToString();
                        txt_Peso.Text = _cliente.Peso.ToString();
                        txt_Notas.Text = _cliente.Comentarios;
                        ddl_Matriculado.SelectedIndex = Convert.ToBoolean(_cliente.Matriculado) == true ? 1 : 2;
                    }
                }
            }
            catch (Exception ex)
            {
                string script = @"<script type='text/javascript'> smoke.alert('" + ex.Message + "', function (e) {}, {ok: 'OK',classname: 'custom-class'}); </script>";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", script, false);
            }
        }

        #endregion

        protected void chk_Activo_CheckedChanged(object sender, EventArgs e)
        {
            if (chk_Activo.Checked == true)
                chk_Inactivo.Checked = false;

        }

        protected void chk_Inactivo_CheckedChanged(object sender, EventArgs e)
        {
            if (chk_Inactivo.Checked == true)
                chk_Activo.Checked = false;
        }

        protected void imgbtn_Agregar_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                if (!string.IsNullOrWhiteSpace(txt_Nombre.Text) && 
                    !string.IsNullOrWhiteSpace(txt_Apellidos.Text) && 
                    !string.IsNullOrWhiteSpace(txt_Ced.Text) &&
                    !string.IsNullOrWhiteSpace(txt_EmailCliente.Text) &&
                    !string.IsNullOrWhiteSpace(txt_Celular.Text) &&
                    !string.IsNullOrWhiteSpace(txt_Peso.Text) &&
                    !string.IsNullOrWhiteSpace(txt_Estatura.Text))
                {
                    string rtn = "";
                    _cliente.IdUsuarioInicioSeccion = Convert.ToInt32(Session["idUSuario"]);
                    _cliente.Nombre = txt_Nombre.Text;
                    _cliente.Apellido = txt_Apellidos.Text;
                    _cliente.Cedula = txt_Ced.Text;
                    _cliente.Sexo = ddl_Sexo.SelectedIndex == 1 ? 'M' : 'F';
                    _cliente.FechaNacimiento = Convert.ToDateTime(Request.Form[txt_FechaNac.UniqueID]);
                    if (_valida.emailBienEscrito(txt_EmailCliente.Text))
                    {
                        _cliente.Correo = txt_EmailCliente.Text;
                        _cliente.Telefono = Convert.ToInt32(txt_Celular.Text);
                        _cliente.IdEstado = chk_Activo.Checked == true ? 2 : 1;
                        _cliente.Estatura = Convert.ToDecimal(txt_Estatura.Text);
                        _cliente.Peso = Convert.ToDecimal(txt_Peso.Text);
                        _cliente.Comentarios = txt_Notas.Text;
                        _cliente.Matriculado = ddl_Matriculado.SelectedIndex == 1 ? true : false;
                        _cliente.IdTipoCliente = ddl_Tipo_Cliente.SelectedIndex + 1;

                        if (txt_Id.Text == "")
                        {
                            _servicio.InsertarActualizarRegistro(true, ref rtn, _cliente);
                            Response.Redirect("wbfrm_Mantenimiento_Cliente.aspx", false);
                        }
                        else
                        {
                            _cliente.IdCliente = Convert.ToInt32(txt_Id.Text);
                            _servicio.InsertarActualizarRegistro(false, ref rtn, _cliente);
                            Response.Redirect("wbfrm_Mantenimiento_Cliente.aspx", false);
                        }
                    }
                    else
                    {
                        string script = @"<script type='text/javascript'> smoke.alert('" + "Email no tiene el formato esperado..." + "', function (e) {}, {ok: 'OK',classname: 'custom-class'}); </script>";
                        ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", script, false);
                    }

                }
                else
                {
                    Response.Write("<script type=\"text/javascript\">alert('No debe dejar campos vacíos, favor revisar');</script>");
                
                }


            }
            catch (Exception ex)
            {
                string script = @"<script type='text/javascript'> smoke.alert('" + ex.Message + "', function (e) {}, {ok: 'OK',classname: 'custom-class'}); </script>";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", script, false);
            }
            finally
            {
                _servicio.Close();
            }
        }

        protected void txt_Peso_TextChanged(object sender, EventArgs e)
        {
            
        }
    }
}